Monitoring performance of a communication link is performed, for instance, for proactively addressing and preventing user complaints, for deciding when to upgrade hardware associated with the communication link, for deciding when to trigger an optimization algorithm, for verifying that the optimization algorithm has improved performance, etc.
Communication system performance can be evaluated using traditional testing software applications such as iperf, netperf, ttcp, etc. Such software applications need to be installed at two communication devices where the application on one device generates and sends test data and the application on the other device receives the test data. After the test is complete, statistics of data transportation are evaluated to evaluate the performance of the communication link between the two devices.
The term “performance” herein refers generally to network throughput (e.g., TCP/UDP), latency, jitter, connectivity, error rates, power consumption, transmit power, etc. Improving performance of the communication system includes increasing throughput, reducing error rate and latency, improving (i.e., reducing) jitter, reducing power consumption, etc. for the communicating system. The term “TCP” stands for transmission control protocol. The term “UDP” refers to user datagram protocol.
However, testing of a communication system or network to gauge its performance via such traditional testing software applications is intrusive to customer network service. These traditional tests impose test traffic on the network which can have a deleterious impact on the customer's traffic.